#if defined (_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#ifndef JETBYTE_TOOLS_WIN32_MANUAL_RESET_EVENT_INCLUDED__
#define JETBYTE_TOOLS_WIN32_MANUAL_RESET_EVENT_INCLUDED__

///////////////////////////////////////////////////////////////////////////////

#include "Event.h"

///////////////////////////////////////////////////////////////////////////////
// Namespace: OldDreamTools::Win32
///////////////////////////////////////////////////////////////////////////////

namespace OldDreamTools {
namespace Win32 {

///////////////////////////////////////////////////////////////////////////////
// CManualResetEvent
///////////////////////////////////////////////////////////////////////////////

class CManualResetEvent : public CEvent
{
   public :

      explicit CManualResetEvent(
         bool initialState = false);

      explicit CManualResetEvent(
         const _tstring &name,
         bool initialState = false);

   private :

      // No copies do not implement
      CManualResetEvent(const CManualResetEvent &rhs);
      CManualResetEvent &operator=(const CManualResetEvent &rhs);
};

///////////////////////////////////////////////////////////////////////////////
// Namespace: OldDreamTools::Win32
///////////////////////////////////////////////////////////////////////////////

} // End of namespace Win32
} // End of namespace OldDreamTools

///////////////////////////////////////////////////////////////////////////////
// Lint options
//
//lint -restore
//
///////////////////////////////////////////////////////////////////////////////

#endif //JETBYTE_TOOLS_WIN32_MANUAL_RESET_EVENT_INCLUDED__

///////////////////////////////////////////////////////////////////////////////
// End of file
///////////////////////////////////////////////////////////////////////////////
